Dart Programlama Dilinde Metodlar-1

Bu dersimizde Dart programlama dilinde metod oluşturma işlemini inceleyeceğiz. Daha önce C, C++, Java, C#, PHP gibi bir programlama dili kullandıysanız, öğrenmeniz çok fazla vakit almayacak, kullanmadıysanız da çok zor değil, hemen konuya girelim.

Metodlar, tanım olarak programcıların defalarca yazdıkları kod bloklarını azaltmak için geliştirilmiş yapılardır diyebiliriz. Metodlar aynı zamanda kodun daha kolay genişletilmesini, değiştirilmesini, bakımının yapılmasını ve tekrar tekrar kod yazılmasını önleyen yapılardır. Yazılım Mühendisliğinde DRY(Don't Repeat Yourself) prensibi gereği kodlarımızın tekrar etmemesi gerekmektedir. Çünkü kod tekrarı gereksiz zaman ve emek kaybına neden olmaktadır. 

Aslında şimdiye kadar yaptığımız örneklerde metod kullandık, main() metodu dart içinde ana metotdur. Program ilk çalıştığında bu metodu arar ve diğer metotlar bu ana metot içinden çağrılmaktadır.

Şimdi kısaca metod tanımına bakalım. Aşağıda en basit haliyle metod tanımı yapılmaktadır. 

void ekranayaz() {
  print("merhaba");
}


Bu metodun ismi ekranayaz() olup, hiçbir değer geri döndürmemekte ve hiçbir parametre almamaktadır.  Bu metodu çağırdığımızda ekrana sadece "merhaba" yazmaktadır. Metodun başındaki void ifadesi metodun geriye değer döndürmediğini göstermektedir. Çağırma işlemini main() ana metodu içinde aşağıdaki şekilde yapıyoruz.

void main() {
  //metod çağrısı
  ekranayaz();
}

Kodun tamamı aşağıda verilmiştir.  

void ekranayaz() {
  print("merhaba");
}
 
void main() {
  //metod çağrısı
  ekranayaz();
}


Şimdilik en basit haliyle metot tanımını yaptık, metodları dört gruba ayırabiliriz.

1) Hiçbir parametre almayan ve hiçbir değer döndürmeyen metodlar,
2) Parametre alıp, değer döndürmeyen metodlar,
3) Paremetre almayıp, değer döndüren metodlar,
4) Parametre alıp, değer döndüren metodlar,

Biz şimdi ilkini yani hiçbir parametre almayan ve hiçbir değer döndürmeyen metodları inceledik. Aşağıdaki örnekte ise bir parametre alan metod örneği görülmektedir. Bu metod, parametre olarak String tipinde bilgi parametresini almaktadır, aldığı bilgiyi ekrana yazmaktadır.

void ekranayaz(String bilgi) {
  print(bilgi);
}

void main() {
  //metod çağrısı
  String str = "Günaydın";
  ekranayaz(str);
}





Aşağıdaki metod tanımında da hiçbir parametre almayan ama geriye integer(int) tamsayı tipinde bir değer döndüren metod görülmektedir. Önceki metod tanımlarında metodumuz geriye herhangi bir değer döndürmediği için void yazmıştık, burada ise toplam sonucu olan int tipindeki x değerini döndüreceği için int hesapla() şeklinde metodumuzu tanımladık. main() içinde de metodu çağırırken dönen sonucu karşılamak için int sonuc=hesapla() şeklinde bir değişken tanımlayarak metodu çağırdık.
 
int hesapla() {
  int x = 3 + 5;
  return x;
}
 
void main() {
  //metod çağrısı
  int sonuc = hesapla();
  print(sonuc.toString());
}

Dönen sonucu ekrana yazdırırken, toString() ile metinsel ifadeye çevirdik, çünkü print komutu sadece string ifadeleri ekrana yazdırmaktadır.



Mutlu kodlamalar,
Oğuzhan TAŞ
Kasım 2023

Bookmark and Share